package com.youlai.boot.daily.service;

import com.youlai.boot.daily.model.entity.DailyRecord;
import com.youlai.boot.daily.model.form.DailyRecordForm;
import com.youlai.boot.daily.model.query.DailyRecordQuery;
import com.youlai.boot.daily.model.vo.DailyRecordVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.time.LocalDate;
import java.util.List;
import java.util.SortedMap;

/**
 * 日常记录服务类
 *
 * @author cuisheng
 * @since 2025-04-02 22:51
 */
public interface DailyRecordService extends IService<DailyRecord> {

    /**
     * 日常记录分页列表
     *
     * @return
     */
    SortedMap<LocalDate, List<DailyRecordVO>> getDailyRecordPage(DailyRecordQuery queryParams);

    /**
     * 获取日常记录表单数据
     *
     * @param id 日常记录ID
     * @return
     */
     DailyRecordForm getDailyRecordFormData(Long id);

    /**
     * 新增日常记录
     *
     * @param formData 日常记录表单对象
     * @return
     */
    boolean saveDailyRecord(DailyRecordForm formData);

    /**
     * 修改日常记录
     *
     * @param id   日常记录ID
     * @param formData 日常记录表单对象
     * @return
     */
    boolean updateDailyRecord(Long id, DailyRecordForm formData);

    /**
     * 删除日常记录
     *
     * @param ids 日常记录ID，多个以英文逗号(,)分割
     * @return
     */
    boolean deleteDailyRecords(String ids);

}
